﻿
namespace Bettzueche.RLGlue.Codec.Network {

    internal static class Protocol {

        /// <summary>Netzwerk Code für ExperimentConnection</summary>
        internal const int kExperimentConnection = 1;
        /// <summary>Netzwerk Code für AgendConnection</summary>
        internal const int kAgentConnection = 2;
        /// <summary>Netzwerk Code für EnvironmentConnection</summary>
        internal const int kEnvironmentConnection = 3;
        /// <summary>Netzwerk Code für AgendInit</summary>
        internal const int kAgentInit = 4;
        /// <summary>Netzwerk Code für AgendStart</summary>
        internal const int kAgentStart = 5;
        /// <summary>Netzwerk Code für AgendStep</summary>
        internal const int kAgentStep = 6;
        /// <summary>Netzwerk Code für AgendEnd</summary>
        internal const int kAgentEnd = 7;
        /// <summary>Netzwerk Code für AgendCleanup</summary>
        internal const int kAgentCleanup = 8;
        /// <summary>Netzwerk Code für AgendMessage</summary>
        internal const int kAgentMessage = 10;
        /// <summary>Netzwerk Code für EnvInit</summary>
        internal const int kEnvInit = 11;
        /// <summary>Netzwerk Code für EnvStart</summary>
        internal const int kEnvStart = 12;
        /// <summary>Netzwerk Code für EnvStart</summary>
        internal const int kEnvStep = 13;
        /// <summary>Netzwerk Code für EnvCleanup</summary>
        internal const int kEnvCleanup = 14;
        /// <summary>Netzwerk Code für EnvMessage</summary>
        internal const int kEnvMessage = 19;
        /// <summary>Netzwerk Code für RLInit</summary>
        internal const int kRLInit = 20;
        /// <summary>Netzwerk Code für RLStart</summary>
        internal const int kRLStart = 21;
        /// <summary>Netzwerk Code für RLStep</summary>
        internal const int kRLStep = 22;
        /// <summary>Netzwerk Code für RLCleanup</summary>
        internal const int kRLCleanup = 23;
        /// <summary>Netzwerk Code für RLReturn</summary>
        internal const int kRLReturn = 24;
        /// <summary>Netzwerk Code für RLNumSteps</summary>
        internal const int kRLNumSteps = 25;
        /// <summary>Netzwerk Code für RLNumEpisodes</summary>
        internal const int kRLNumEpisodes = 26;
        internal const int kRLEpisode = 27;
        internal const int kRLAgentMessage = 33;
        internal const int kRLEnvMessage = 34;
        internal const int kRLTerm = 35;
        internal const int kRLEnvStart = 36;
        internal const int kRLEnvStep = 37;
        internal const int kRLAgentStart = 38;
        internal const int kRLAgentStep = 39;
        internal const int kRLAgentEnd = 40;
        /// <summary>4 = Anzahl Bytes eines Int32 im Netzwerkprotokoll.</summary>
        internal const int kIntSize = 4;
        /// <summary>8 = Anzahl Bytes eines Double im Netzwerkprotokoll.</summary>
        internal const int kDoubleSize = 8;
        /// <summary>1 = Anzahl Bytes eines char  im Netzwerkprotokoll(ASCII).</summary>
        internal const int kCharSize = 1;

    }
}
